package com.hemerasolutions.v2trainer.service.interfaces;

import java.util.List;

import org.apache.commons.lang.mutable.MutableInt;

import com.hemerasolutions.v2trainer.model.multimedia.Photo;
import com.hemerasolutions.v2trainer.model.multimedia.RemoteVideo;
import com.hemerasolutions.v2trainer.model.multimedia.Video;
import com.hemerasolutions.v2trainer.service.ExceptionService;

public interface MultimediaServiceInterface extends BaseServiceInterface {


	public RemoteVideo uploadToYouTube(RemoteVideo selRemoteVideo, MutableInt videoUploadProgress)
			throws ExceptionService;

	public boolean testConnection() throws ExceptionService;
	
	public List<com.google.api.services.youtube.model.Video> listYouTubeVideos() throws ExceptionService;
	
	public List<Video> listVideos() throws ExceptionService;

	public boolean isEmptyDBVideos() throws ExceptionService;

	public void saveDbVideo(Video defaultExerciseVideo) throws ExceptionService;

	public void deleteDefaultEquipmentVideo() throws ExceptionService;

	public void deleteDefaultExerciseVideo() throws ExceptionService;

	public void deleteVideo(Video video) throws ExceptionService;
	
	public Photo readDefaultExercisePhoto() throws ExceptionService;

	public Photo readDefaultEquipmentPhoto() throws ExceptionService;

	public Video copyDefaultEquipmentVideo();

	public Video copyDefaultExerciseVideo();

	public RemoteVideo readDefaultExerciseRemoteVideo();

	public RemoteVideo readDefaultEquipmentRemoteVideo();

	public void deleteRemoteVideo(RemoteVideo rm) throws ExceptionService;

	public RemoteVideo saveRemoteVideo(RemoteVideo rm) throws ExceptionService;

	public RemoteVideo createRemoteVideo(RemoteVideo rm) throws ExceptionService;

	public void disconnectYouTube() throws ExceptionService;


	
}
